package com.lazy.book.service.system;

import com.lazy.book.pojo.system.pojo.dto.sysmessage.Message;
import com.lazy.book.pojo.system.pojo.dto.sysmessage.SysMessageListDTO;
import com.lazy.book.pojo.system.pojo.po.SysMessage;
import com.lazy.book.pojo.system.pojo.vo.sysmessage.MessageCountVO;
import com.lazy.book.pojo.system.pojo.vo.sysmessage.SysMessageVO;
import com.mybatisflex.core.service.IService;
import com.sz.core.common.entity.PageResult;
import com.sz.core.common.entity.SelectIdsDTO;

import java.util.List;

/**
 * @author lay
 * @since 2025-09-05
 */
public interface SysMessageService extends IService<SysMessage> {

    void create(Message dto);

    PageResult<SysMessageVO> page(SysMessageListDTO dto);

    List<SysMessageVO> list(SysMessageListDTO dto);

    void remove(SelectIdsDTO dto);

    SysMessageVO detail(Object id);

    MessageCountVO countUnReadMsg();

    void markRead(List<Long> ids);

    void markAllRead();
}